/**
 * @file proxysdlib.h
 *
 * @date Feb 25, 2012
 * @author Francesco Corvino
 */

#ifndef PROXYSDLIB_H_
#define PROXYSDLIB_H_

#define SO_POSIX_PLATFORM

/**
 * Differenza tra piattaforma windows e posix
 */
#ifdef SO_POSIX_PLATFORM

	#include  <dlfcn.h>
	/**
	 * POSIX definisce tutto come puntatori void
	 */
	#define HANDLER_LIB void*
	#define HANDLER_FUN void*

#else

	#include <windows.h>

	/**
	 * Windows definisce due tipi differenti per le librerie e per le funzioni
	 */
	#define HANDLER_LIB HMODULE
	#define HANDLER_FUN FARPROC

#endif


HANDLER_LIB loadLibrary(char *path);
HANDLER_FUN getFunct(void* lib, char* namefn);
void closeLibrary(void * lib);


#endif /* PROXYSDLIB_H_ */
